import 'package:brisk/theme/application_theme.dart';
import 'package:flutter/material.dart';

ApplicationTheme signatureBlue = const ApplicationTheme(
  themeId: "Signature Blue",
  fontWeight: FontWeight.normal,
  isLight: false,
  widgetTheme: WidgetTheme(
    iconButtonColor: ButtonColor(
      iconColor: Colors.white54,
      hoverIconColor: Colors.white,
      hoverBackgroundColor: const Color.fromRGBO(44, 58, 65, 1),
      backgroundColor: const Color.fromRGBO(44, 58, 65, 1),
    ),
    switchColor: SwitchColor(
      activeColor: Colors.green,
      focusColor: Colors.lightGreen,
    ),
    dropDownColor: DropDownColor(
      dropDownBackgroundColor: const Color.fromRGBO(33, 43, 49, 1.0),
      itemTextColor: Colors.white,
    ),
    textFieldColor: TextFieldColor(
      focusBorderColor: Colors.blueGrey,
      borderColor: const Color.fromRGBO(73, 84, 103, 1.0),
      fillColor: const Color.fromRGBO(55, 65, 81, 1),
      textColor: Colors.white,
      cursorColor: Colors.white,
    ),
    showHideButtonColor: ButtonColor(
      iconColor: Colors.white70,
      textColor: Colors.white70,
      backgroundColor: const Color.fromRGBO(44, 58, 65, 1),
      hoverIconColor: Colors.white70,
      hoverBackgroundColor: Colors.transparent,
    ),
  ),
  contextMenuTheme: ContextMenuTheme(
    backgroundColor: const Color.fromRGBO(33, 43, 49, 1.0),
    itemDisabledTextColor: Colors.grey,
    borderColor: Colors.transparent,
  ),
  downloadProgressDialogTheme: DownloadProgressDialogTheme(
    connectionProgressColor: ProgressIndicatorColor(
      color: Colors.indigoAccent,
      backgroundColor: const Color.fromRGBO(71, 100, 117, 0.5),
    ),
    totalProgressColor: const ProgressIndicatorColor(
      color: Colors.green,
      backgroundColor: Color.fromRGBO(44, 58, 65, 1),
    ),
    resumeColor: ButtonColor(
      iconColor: Colors.transparent,
      backgroundColor: const Color.fromRGBO(24, 150, 91, 1.0),
      hoverIconColor: Colors.transparent,
      hoverBackgroundColor: const Color.fromRGBO(3, 114, 59, 1.0),
      hoverTextColor: Colors.white,
      textColor: Colors.white,
      borderColor: const Color.fromRGBO(24, 150, 91, 1.0),
      borderHoverColor: Colors.green,
    ),
    pauseColor: ButtonColor(
      iconColor: Colors.transparent,
      hoverIconColor: Colors.transparent,
      textColor: Colors.white70,
      hoverBackgroundColor: const Color.fromRGBO(244, 67, 54, 0.5),
      hoverTextColor: Colors.white,
      backgroundColor: const Color.fromRGBO(244, 67, 54, 0.7),
      borderColor: const Color.fromRGBO(63, 19, 19, 0.5),
      // borderHoverColor: Colors.red,
    ),
  ),
  sideMenuTheme: SideMenuTheme(
    settingIconColor: Colors.white,
    backgroundColor: const Color.fromRGBO(55, 64, 81, 1),
    briskLogoColor: Colors.white,
    activeTabIconColor: Colors.white,
    activeTabBackgroundColor: Color.fromRGBO(84, 110, 122, 1.0),
    tabHoverColor: Colors.blueGrey,
    tabIconColor: Colors.white,
    tabBackgroundColor: Colors.transparent,
    expansionTileExpandedColor: const Color.fromRGBO(55, 83, 107, 1.0),
    expansionTileItemActiveColor: const Color.fromRGBO(32, 99, 161, 1.0),
    expansionTileItemHoverColor: const Color.fromRGBO(55, 111, 157, 1.0),
  ),
  alertDialogTheme: AlertDialogTheme(
    cancelColor: ButtonColor(
      iconColor: Colors.transparent,
      hoverIconColor: Colors.transparent,
      textColor: Colors.white,
      hoverBackgroundColor: const Color.fromRGBO(244, 67, 54, 1),
      hoverTextColor: Colors.white,
      backgroundColor: const Color.fromRGBO(45, 45, 45, 0.5),
      borderColor: Colors.transparent,
      borderHoverColor: Colors.red,
    ),
    secondaryMiscButtonColor: ButtonColor(
      iconColor: Colors.transparent,
      hoverIconColor: Colors.transparent,
      hoverBackgroundColor: const Color.fromRGBO(53, 89, 143, 1),
      hoverTextColor: Colors.white,
      textColor: Colors.white,
      borderColor: Colors.transparent,
      backgroundColor: const Color.fromRGBO(45, 45, 45, 0.5),
    ),
    primaryMiscButtonColor: ButtonColor(
      iconColor: Colors.transparent,
      hoverIconColor: Colors.transparent,
      hoverBackgroundColor: const Color.fromRGBO(76, 117, 173, 1.0),
      hoverTextColor: Colors.white,
      textColor: Colors.white,
      backgroundColor: const Color.fromRGBO(53, 89, 143, 1),
    ),
    backgroundColor: const Color.fromRGBO(33, 43, 49, 1.0),
    innerContainerBorderColor: Colors.white38,
    iconColor: Colors.white,
    checkBoxColor: CheckBoxColor(
      borderColor: Colors.grey,
      activeColor: const Color.fromRGBO(53, 89, 143, 1),
    ),
    acceptButtonColor: ButtonColor(
      iconColor: Colors.transparent,
      backgroundColor: const Color.fromRGBO(24, 150, 91, 1.0),
      hoverIconColor: Colors.transparent,
      hoverBackgroundColor: const Color.fromRGBO(3, 114, 59, 1.0),
      hoverTextColor: Colors.white,
      textColor: Colors.white,
      borderColor: const Color.fromRGBO(24, 150, 91, 1.0),
      borderHoverColor: Colors.green,
    ),
    declineButtonColor: ButtonColor(
      iconColor: Colors.transparent,
      hoverIconColor: Colors.transparent,
      textColor: Colors.white,
      hoverBackgroundColor: const Color.fromRGBO(244, 67, 54, 1),
      hoverTextColor: Colors.white,
      backgroundColor: const Color.fromRGBO(45, 45, 45, 0.5),
      borderColor: Colors.transparent,
      borderHoverColor: Colors.red,
    ),
    deleteConfirmColor: ButtonColor(
      iconColor: Colors.transparent,
      hoverIconColor: Colors.transparent,
      hoverTextColor: Colors.white,
      hoverBackgroundColor: const Color.fromRGBO(241, 3, 3, 1.0),
      backgroundColor: const Color.fromRGBO(220, 38, 38, 1),
      textColor: Colors.white,
    ),
    deleteCancelColor: ButtonColor(
      iconColor: Colors.transparent,
      hoverIconColor: Colors.transparent,
      hoverBackgroundColor: const Color.fromRGBO(69, 85, 96, 1.0),
      backgroundColor: const Color.fromRGBO(43, 56, 63, 1.0),
      textColor: Colors.white70,
    ),
    surfaceColor: const Color.fromRGBO(44, 58, 65, 1),
  ),
  topMenuTheme: TopMenuTheme(
    disabledHoverColor: Colors.white10,
    backgroundColor: const Color.fromRGBO(46, 54, 67, 1),
    addUrlColor: ButtonColor(
      iconColor: Colors.white,
      hoverIconColor: Colors.white,
      hoverBackgroundColor: Colors.blueGrey,
    ),
    checkForUpdateColor: ButtonColor(
      iconColor: Colors.white,
      hoverIconColor: Colors.white,
      hoverBackgroundColor: Colors.blueGrey,
    ),
    downloadColor: ButtonColor(
      iconColor: Colors.white,
      hoverIconColor: Colors.white,
      hoverBackgroundColor: Colors.green,
    ),
    stopColor: ButtonColor(
      iconColor: Colors.white,
      hoverIconColor: Colors.white,
      hoverBackgroundColor: Colors.redAccent,
    ),
    stopAllColor: ButtonColor(
      iconColor: Colors.white,
      hoverIconColor: Colors.white,
      hoverBackgroundColor: Colors.redAccent,
    ),
    removeColor: ButtonColor(
      iconColor: Colors.white,
      hoverIconColor: Colors.white,
      hoverBackgroundColor: Colors.red,
    ),
    addToQueueColor: ButtonColor(
      iconColor: Colors.white,
      hoverIconColor: Colors.white,
      hoverBackgroundColor: Colors.teal,
    ),
    searchColor: ButtonColor(
      iconColor: Colors.white,
      hoverIconColor: Colors.white,
      hoverBackgroundColor: Colors.blueGrey,
    ),
    extensionColor: ButtonColor(
      iconColor: Colors.white,
      hoverIconColor: Colors.white,
      hoverBackgroundColor: Colors.blueGrey,
    ),
    createQueueColor: ButtonColor(
      iconColor: Colors.white,
      hoverIconColor: Colors.white,
      hoverBackgroundColor: Colors.green,
    ),
    startQueueColor: ButtonColor(
      iconColor: Colors.white,
      hoverIconColor: Colors.white,
      hoverBackgroundColor: Colors.green,
    ),
    stopQueueColor: ButtonColor(
      iconColor: Colors.white,
      hoverIconColor: Colors.white,
      hoverBackgroundColor: Colors.redAccent,
    ),
    scheduleQueueColor: const ButtonColor(
      iconColor: const Color.fromRGBO(56, 209, 82, 0.9),
      hoverIconColor: const Color.fromRGBO(56, 209, 82, 0.9),
      hoverBackgroundColor: const Color.fromRGBO(56, 209, 82, 0.2),
    ),
  ),
  downloadGridTheme: DownloadGridTheme(
    rowTextColor: Colors.white,
    titleColumnTextColor: Colors.white,
    backgroundColor: const Color.fromRGBO(40, 46, 58, 1),
    activeRowColor: Colors.black26,
    checkedRowColor: Color.fromRGBO(69, 90, 100, 1.0),
    borderColor: Colors.black26,
    rowColor: const Color.fromRGBO(49, 56, 72, 1),
  ),
  settingTheme: SettingTheme(
    pageTheme: SettingPageTheme(
      groupBackgroundColor: const Color.fromRGBO(43, 54, 63, 1.0),
      groupTitleTextColor: Colors.white,
      titleTextColor: Colors.white,
    ),
    sideMenuTheme: SettingSideMenuTheme(
      backgroundColor: Colors.black26,
      activeTabBackgroundColor: Colors.blueGrey,
      activeTabIconColor: Colors.white,
      inactiveTabIconColor: Colors.white,
      tabHoverBackgroundColor: Colors.black26,
    ),
    saveButtonColor: ButtonColor(
      iconColor: Colors.transparent,
      hoverIconColor: Colors.transparent,
      hoverBackgroundColor: const Color.fromRGBO(3, 114, 59, 1.0),
      hoverTextColor: Colors.white,
      backgroundColor: const Color.fromRGBO(3, 114, 59, 1.0),
      textColor: Colors.white,
      borderColor: const Color.fromRGBO(24, 150, 91, 1.0),
      borderHoverColor: Colors.green,
    ),
    resetDefaultsButtonColor: ButtonColor(
      iconColor: Colors.transparent,
      hoverIconColor: Colors.transparent,
      hoverBackgroundColor: const Color.fromRGBO(58, 96, 152, 1.0),
      hoverTextColor: Colors.white,
      borderColor: Colors.transparent,
      textColor: Colors.white70,
      borderHoverColor: const Color.fromRGBO(53, 89, 143, 1),
    ),
  ),
  queuePageTheme: QueuePageTheme(
    backgroundColor: const Color.fromRGBO(40, 46, 58, 1),
    queueItemTitleTextColor: Colors.black,
    queueItemTitleDetailsTextColor: Colors.black,
    queueItemHoverColor: Colors.white12,
  ),
);
